import copy
# -*- coding: utf-8 -*-
"""
Created on Wed Sep 11 14:11:59 2024

@author: Administrator
"""
mydic={'a':[1,2,3,4],'b':2}

print(mydic)

#mydic1 这块传递的是引用 
myarray = mydic['a'];

myarray[-1] = 500;
#输出[1, 2, 3, 500]
print(myarray)

#输出变量地址 2336618368832 2336618368832
print("%d %d"%(id(mydic['a']),id(myarray)))

# copy
print("copy")
mydic_new={'a':[1,2,3,4],'b':2}

#shadow copy
myarray_new=mydic_new.copy()['a']

myarray_new[-1]=1000

print(mydic_new)

#输出变量地址 2336618368832 2336618368832
print("%d %d"%(id(mydic_new['a']),id(myarray_new)))

# deepcopy
print("deepcopy")
mydic_new_1={'a':[1,2,3,4],'b':2}

#shadow copy
myarray_new_1= copy.deepcopy(mydic_new_1.copy()['a'])

myarray_new_1[-1]=1000

#{'a': [1, 2, 3, 4], 'b': 2}
print(mydic_new_1)

#输出变量地址 2336618360768 2336618365056
print("%d %d"%(id(mydic_new_1['a']),id(myarray_new_1)))





